import { useglobal } from '@/stores'
const globalData = useglobal();
const baseURL = "https://test-api-saas.syrykj.top"
// const baseURL = "https://api.whalesaas.com"
// const defaultConfig = {
//     timeout: 5000,

// };


export const request = (url, method, data)=> {
	const header = {
		'Content-Type': 'application/json'
	}
	// Token处理
	// const token = uni.getStorageSync('token')
	// if (token) {
	// 	header.Authorization = `Bearer ${token}`
	// } else {
	// 	uni.showToast({
	// 		icon: 'none',
	// 		title: '请先登录'
	// 	})
	// 	return Promise.reject('未登录')
	// }
	header.CompanyCode = uni.getStorageSync('companyCode')
	return new Promise((resolve, reject) => {
		uni.request({
			url: baseURL + url,
			method,
			header,
			data,
			success: (res) => {
				// console.log('接口',res);
				// if (res.data.code === 0) {
				// 	resolve(res.data);
				// } else if(res.data.code === 1){
				// 	uni.showToast({
				// 		icon:'none',
				// 		title:res.data.msg,
				// 		duration: 2000, 
				// 	})
					resolve(res.data);
				// }else {
				// 	console.log('接口正常，返回异常',res);
				// 	uni.removeStorageSync("third_session");
				// 	uni.navigateTo({
				// 		url: '/pages/login/login'
				// 	})
				// }
			},
			fail: (err) => {
				handleNetworkError(err)
				reject(err)
			}
		})
	})
}

// 错误状态码处理
function handleErrorResponse(code) {
	const errorMap = {
		401: () => {
			uni.showModal({
				title: '提示',
				content: '登录已过期，请重新登录',
				showCancel: false,
				success: () => setTimeout(() => {
					uni.navigateTo({
						url: '/pages/login/index'
					})
				}, 1000)
			})
		},
		404: () => uni.showToast({
			title: '请求地址不存在',
			icon: 'none'
		}),
		default: () => uni.showToast({
			title: '请求失败，请重试',
			icon: 'none'
		})
	}

	;
	(errorMap[code] || errorMap.default)()
	code === 401 && uni.clearStorageSync()
}

// 网络异常处理
function handleNetworkError(err) {
	const isNetworkError = err.errMsg.includes('request:fail')
	uni.showToast({
		title: isNetworkError ? '网络连接异常' : '服务器异常',
		icon: 'none',
		duration: 2000
	})
}